﻿

namespace MathService
{
    /// <summary>Объект, обладающий именем</summary>
    public interface INamedRead
    {
        /// <summary>Имя объекта</summary>
        string Name { get; }
    }

    /// <summary>Объект с возможностью задавать имя</summary>
    public interface INamed : INamedRead
    {
        /// <summary>Имя объекта</summary>
        new string Name { get; set; }
    }

    public static class NamedInterfaceExtentions
    {
        public static void Rename(this INamed obj, string NewName) { obj.Name = NewName; }
    }
}
